package ar.edu.utn.frgp.TPFinalBanco.dao.impl;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;

import ar.edu.utn.frgp.TPFinalBanco.dao.DefaultGenericDao;
import ar.edu.utn.frgp.TPFinalBanco.dao.MovimientoDao;
import ar.edu.utn.frgp.TPFinalBanco.model.Movimiento;

public class MovimientoDaoImpl extends DefaultGenericDao implements MovimientoDao {

	public void create(Movimiento obj) {
		Session session = hibernateTemplate.getSessionFactory()
				.getCurrentSession();
		session.save(obj);
		
	}

	public void update(Movimiento obj) {
		Session session = hibernateTemplate.getSessionFactory()
				.getCurrentSession();
		session.update(obj);
		
	}

	public void delete(Movimiento obj) {
		// TODO Auto-generated method stub
		
	}

	public List<Movimiento> getAll() {
		// TODO Auto-generated method stub
		return null;
	}

	@SuppressWarnings("unchecked")
	public List<Movimiento> getMovimientosDeUnaCuenta(Integer nroCuenta) {
		Session session = hibernateTemplate.getSessionFactory()
				.getCurrentSession();
		Criteria criteria = session.createCriteria(Movimiento.class);
		criteria.setMaxResults(5);
		criteria.add(Restrictions.eq("movimientoPk.cuenta.nroCuenta", nroCuenta));
		return (List<Movimiento>) criteria.list();
	}

}
